 function EFFECT:Init( data ) 

 	self.Time = 0.2
 	self.LifeTime = CurTime() + self.Time 
 	self.vOffset = data:GetOrigin()
	self.Norm = data:GetNormal()
	self.Mult = data:GetScale()
	self.emitter = ParticleEmitter( self.vOffset )

		for i=0, (15) do
		
			local Pos = VectorRand():GetNormalized()
		
			local particle = self.emitter:Add( "particles/smokey", self.vOffset + Pos*math.Rand(5,15)*self.Mult )
			if (particle) then
				particle:SetVelocity( self.Norm*math.Rand(70,140)*self.Mult )
				particle:SetLifeTime( 0 )
				particle:SetDieTime( math.Rand( 2, 3 ) )
				particle:SetStartAlpha( math.Rand( 200, 255 ) )
				particle:SetEndAlpha( 0 )
				particle:SetStartSize( 10*self.Mult )
				particle:SetEndSize( 30*self.Mult )
				particle:SetRoll( math.Rand(0, 360) )
				particle:SetRollDelta( math.Rand(-0.2, 0.2) )
				particle:SetColor( 150 , 150 , 150 )
				particle:SetAirResistance(90)
			end
			
			Pos = VectorRand():GetNormalized()
			
			local particle1 = self.emitter:Add( "particles/flamelet"..math.random(1,5), self.vOffset + Pos*math.Rand(5,10)*self.Mult )
			if (particle1) then
				particle1:SetVelocity( (Pos*math.Rand(20,100) + self.Norm*120 )*self.Mult )
				particle1:SetLifeTime( 0 )
				particle1:SetDieTime( math.Rand( 0.2,0.6 ) )
				particle1:SetStartAlpha( math.Rand( 200, 255 ) )
				particle1:SetEndAlpha( 0 )
				particle1:SetStartSize( 30*self.Mult )
				particle1:SetEndSize( 0 )
				particle1:SetRoll( math.Rand(0, 360) )
				particle1:SetRollDelta( math.Rand(-1, 1) )
				particle1:SetColor( 255 , 255 , 255 ) 
				particle1:SetAirResistance(70)
			end
			
		end
		
	self.emitter:Finish()
 	self.Entity:SetPos( self.vOffset )  
 end 
   
 function EFFECT:Think( ) 
   
 	return ( self.LifeTime > CurTime() )  
 	 
 end 
 
 function EFFECT:Render() 
 end  